Pipelined systems generally have a need for fast arbitration schemes to allocate a shared resource among several requesters. One problem with fast arbitration schemes, such as a fixed-priority arbiter, is that fast arbitration schemes are not always fair because preference may be given to higher-priority requesters. Another problem with such fast arbitration schemes is that they may cause starvation because a requestor with a lower priority may never be granted use of the shared resource. Slower arbitration schemes may help ensure fairness and may help prevent starvation, however slower arbitration schemes may result in significant processing delays in pipelined systems.
Thus there is a need for an improved arbiter and method of arbitration suitable for use in a pipelined system.